Information display device

ABSTRACT

To provide an information display device for displaying at least one item of display target information in respective screen element, receiving, while catalog display takes place, an instruction operation which is made utilizing display target information shown in the screen elements displayed as a catalog, and executing a process based on the instruction operation.

This is a continuation of co-pending U.S. application Ser. No.12/297,355 which is a 371 of PCT/JP2007/050134 filed on Jan. 10, 2007,which claims priority to Japanese Pat. App. Nos. 2006-128726 and2006-167594 filed in Japan on May 2, 2006 and Jun. 16, 2006,respectively, the entirety all of which being incorporated herein byreference.

TECHNICAL FIELD

The present invention relates to an information display device fordisplaying display target information, such as content or the like,obtained from a web server, for example, in a screen element, such as awindow or the like.

BACKGROUND ART

In recent years, an information display device, such as a personalcomputer (PC) or the like, displays respective kinds of information inindependent screen elements each referred to as a window in order todisplay various kinds of information on a single display screen.

For example, many web browsers or the like which produce information tobe displayed (display target information) based on web page dataobtained via a network from a web server or the like and display thedisplay target information produced based on the respective web pages,each in each window.

Such an information display device for displaying information in aplurality of windows may need to show notice information asking for userconfirmation of their operation or input of a password or the like inconnection with display target information shown in any window.

As a specific example, in the case of a web page, HTML (Hyper TextMarkup Language) data describing a web page may contain a descriptionabout a program to be processed (a script) for controlling such thatdisplay of display target information is not carried out until apassword is input.

BRIEF SUMMARY Problems to be Solved by the Invention

As such a conventional information display device displays noticeinformation as well in an independent window, when it becomes necessaryto display notice information while information items about a pluralityof web pages are displayed in the respective windows, the user may notreadily know that the notice information to be displayed appears inassociation with a web page in which window.

The present invention has been conceived in view of the above, and oneobject thereof is to provide an information display device forexplicitly exhibiting the relationship between display targetinformation shown in a screen element and notice information to benotified to the user.

Means for Solving the Problems

In order to address a shortcoming of the above described related art,according to the present invention, there is provided an informationdisplay unit for displaying at least one item of display targetinformation in a respective screen element; a catalog display unit fordisplaying the screen elements as a catalog; and an execution unit forreceiving, while catalog display takes place, an instruction operationwhich is made utilizing display target information shown in the screenelements displayed as a catalog, and for executing a process based onthe instruction operation.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing an example of a structure of aninformation display device according to an embodiment of the presentinvention;

FIG. 2 is a diagram explaining an example of a virtual space realized inthe information display device according to the embodiment of thepresent invention;

FIG. 3 is a diagram explaining an example of a screen image displayed inthe information display device according to the embodiment of thepresent invention;

FIG. 4 is a functional block diagram related to an example of theinformation display device according to the embodiment of the presentinvention;

FIG. 5 is a flowchart related to an example of a process to display afocused window in the information display device according to theembodiment of the present invention;

FIG. 6 is a diagram explaining an example of setting of a virtual spaceand an example of a corresponding display screen image when changing afocused window according to the embodiment of the present invention;

FIG. 7 is a diagram explaining an example of content of an objectdatabase describing an example of setting of a virtual space in theinformation display device according to the embodiment of the presentinvention;

FIG. 8 is a diagram explaining an example of a method for forming anarea for displaying a menu screen and/or notice information in theinformation display device according to the embodiment of the presentinvention;

FIG. 9 is a diagram explaining an example of a screen image with an areaensured for displaying a menu screen and/or notice information in theinformation display device according to the embodiment of the presentinvention;

FIG. 10 is a diagram explaining an example of a menu screen imagedisplayed in the information display device according to the embodimentof the present invention;

FIG. 11 is a diagram explaining an example of setting a virtual space inthe information display device according to the embodiment of thepresent invention;

FIG. 12 is a diagram explaining an example of notice informationdisplayed in the information display device according to the embodimentof the present invention;

FIG. 13 is a diagram explaining another example of notice informationdisplayed in the information display device according to the embodimentof the present invention;

FIG. 14 is a diagram explaining another example of notice informationdisplayed in the information display device according to the embodimentof the present invention;

FIG. 15 is a diagram explaining still another example of noticeinformation displayed in the information display device according to theembodiment of the present invention;

FIG. 16 is a diagram explaining an example of setting of a virtual spacein performing catalog display in the information display deviceaccording to the embodiment of the present invention;

FIG. 17 is a diagram explaining an example of catalog display shown inthe information display device according to the embodiment of thepresent invention;

FIG. 18 is a diagram explaining another example of setting of a virtualspace in performing catalog display in the information display deviceaccording to the embodiment of the present invention;

FIG. 19 is a diagram explaining various examples of catalog displayshown in the information display device according to the embodiment ofthe present invention;

FIG. 20 is a diagram explaining an example of a focused window shown inperforming catalog display in the information display device accordingto the embodiment of the present invention;

FIG. 21 is a diagram explaining an example of a window other than thefocused window, shown in performing catalog display in the informationdisplay device according to the embodiment of the present invention;

FIG. 22 is a diagram explaining an example of a screen image shown inthe information display device according to the embodiment of thepresent invention;

FIG. 23 is a diagram explaining a window shown enlarged in theinformation display device according to the embodiment of the presentinvention;

FIG. 24 is a diagram explaining an example of a screen image with awindow shown enlarged in the information display device according to theembodiment of the present invention;

FIG. 25 is a schematic diagram showing an example of a controllerconnected to the information display device according to the embodimentof the present invention;

FIG. 26 is a diagram explaining an example of an operation to inclinethe controller connected to the information display device according tothe embodiment of the present invention;

FIG. 27 is a diagram explaining another example of an operation toincline the controller connected to the information display deviceaccording to the embodiment of the present invention; and

FIG. 28 is a flowchart related to an example of a process based on anoperation to incline the controller connected to the information displaydevice according to the embodiment of the present invention.

DETAILED DESCRIPTION [Structure of Information Display Device]

FIG. 1 is a block diagram showing an example of a structure of aninformation display device 1 according to an embodiment of the presentinvention. The information display device 1 comprises a CPU (CentralProcessing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random AccessMemory) 13, a network I/F 14, a controller I/F 15, a GPU (GraphicsProcessing Unit) 21, a VRAM (Video Random Access Memory) 22, and a drive3. The CPU 11, the ROM 12, the RAM 13, the network I/F 14, thecontroller I/F 15, the GPU 21, and the drive 3 are mutually connectedvia a bus 16. The VRAM 22 is connected to the GPU 21, and the controllerI/F 15 is connected to a controller 4.

The CPU 11 operates according to a program read from a ROM 12 or arecording medium set in the drive 3 into the RAM 13. The CPU 11 isresponsible for overall control of the information display device 1 inthis embodiment, and carries out a process to display a plurality ofkinds of display target information in respective windows, or screenelements, and a process to display notice information to be displayed inconnection with display target information. The CPU 11 carries out aprocess to display windows in the form of a catalog (catalog display).These processes carried out by the CPU 11 will be specifically describedlater in detail.

The ROM 12 stores various data and a program to be executed by the CPU11. The RAM 13 holds a program to be executed by the CPU 11. The RAM 13also functions as a work memory of the CPU 11.

The drive 3 reads data from a recording medium, such as a DVD-ROM, aCD-ROM, or the like, mounted therein, and outputs the read data to theCPU 11. The drive 3 may be a reader of a recording medium, such as amemory stick (trademark), an SD card (trademark), and so forth, notlimited to those described above.

The controller 4 may be a controller of a home-use game machine,including, for example, a key board, a mouse, or the like, of a PC. Thecontroller 4, connected to the bus 16 via the controller I/F 15, has adirection key, other operation key, and an analogue device or the likefor outputting a signal in accordance with an inclination and/ormovement amount, and outputs a signal indicative of the user's operationto the CPU 11.

The network I/F 14 controls data exchange with respect to a web serverconnected thereto via a network. Specifically, the network I/F 14 sendsinformation (a data acquisition request or the like) via a networkaccording to an instruction input from the CPU 11 and outputsinformation (HTML data or the like) received via the network to the CPU11. In this embodiment, the CPU 11 receives HTML data from a web serveron a network, such as the Internet or the like, via the network I/F 14.

The GPU 21 carries out a calculation necessary to display graphics. TheVRAM 22 is a memory for holding content to be shown on the display andreceives image data produced by the GPU 21 and written into the VRAM 22.A display control unit (not shown) produces an image signal based on theimage data written into the VRAM 22 and outputs the produced imagesignal to a television image receiver, a display device, or the likewhere an image is shown based on the image signal.

In the following, a process to be carried out by the information displaydevice 1 will be described. In the following, an example in which theinformation display device 1 operates as a web browser controlled by theCPU 11, the GPU 21, or the like, will be described. However, this is notan exclusive example. Any information can be displayed as long as aninformation display process utilizing a plurality of screen elements(for example, a window) is employed.

It should be noted that the web browser realized by the informationdisplay device 1 here is a browser with tabbed interface, or so-called“tabbrowser,” and displays each web page in an independent pane(realized as a window, here), or a tab. The respective tabs aredisplayed and switched according to the user's operation.

The information display device 1 in this embodiment carries out aninformation display process using a plurality of screen elements(hereinafter referred to as a window). In the above, the informationdisplay device 1 may render an image of each window into a twodimensional rendering space. However, it is determined here that theinformation display device 1 disposes a panel object serving as a windowin a three dimensional virtual space and render an image to be displayedin a window onto at least one surface of the panel object. For example,the information display device 1 pastes as a texture a two dimensionalimage expressing content to be displayed.

That is, data produced by the information display device 1 in thisembodiment expresses a plurality of windows 61, 62, 63, 64, and 65(panel objects), each having display target information rendered on thesurface thereof, placed in the virtual space 5, as shown in FIG. 2. Theinformation display device 1 additionally disposes a virtual camera 71in the virtual space 5 and defines a focused area 7, or a virtual imagecapturing area, of the virtual camera 5. FIG. 2 shows an example inwhich a window 65 is located at the center of the focused area 7, or animage capturing object of the virtual camera 71, with a part of a window64 included on the left side in the focused area 7.

The information display device 1 renders the image of a portioncontained in the focused area 7 of the virtual camera 71, based on theinformation about the virtual space 5. The rendered image is drawn intothe VRAM 22 and displayed on an external display or the like (FIG. 3).

The virtual camera 71 can be set at any position in the virtual space 5.When the virtual camera 71 moves with the focused area 7 thereofaccordingly changing, different images are resultantly rendered withaccordingly different images shown on the display.

The information display device described as a web browser herecomprises, in terms of functions, as shown in FIG. 4, a descriptiveinformation acquisition unit 31, a descriptive information analysis unit32, a display target information production unit 33, a programprocessing unit 34, a display control unit 35, a notice informationdisplay unit 36, a virtual space setting unit 37, a catalog displaysetting unit 38, a two dimensional rendering processing unit 41, a threedimensional rendering processing unit 42, and a combining processingunit 43.

These units are realized by the CPU 11, the GPU 21, or the like by meansof software, for example, in this embodiment.

The information acquisition unit 31 receives a data acquisition requestfrom the display control unit 35 and/or the display target informationproduction unit 33. The data acquisition request contains a designationof such as an URL or the like. Upon receipt of the data acquisitionrequest, the information acquisition unit 31 acquires the requested datafrom the designated URL or the like and outputs the acquired data to thedisplay control unit 35 or the display target information productionunit 33 having requested the data. It should be noted that dataspecified by an URL may be a file stored in a recording medium or thelike mounted in the drive 3 of the information display device 1, notlimited to data from a web server or the like on the network.

The descriptive information analysis unit 32 contains a parser (ananalysis function) for HTML data, and receives from the display controlunit 35, HTML data and information (an identifier of a screen element,hereinafter referred to as “a window identifier”) identifying a screenelement in which to display. The descriptive information analysis unit32 then analyzes the received HTML data according to a predeterminedrule. Generally, the HTML data contains a display instruction dataportion instructing display of display target information and sometimesadditionally contains a program data portion to be executed.

The descriptive information processing unit 32 extracts a displayinstruction data portion from the HTML data and outputs the extracteddisplay instruction data portion and the window identifier to thedisplay target information production unit 33. When a program data isadditionally included in the HTML data, the descriptive informationanalysis unit 32 extracts the program data portion as well, and outputsto the program processing unit 34 together with the window identifier.

The display target information production unit 33 extracts information(an image data URL or the like) specifying character string informationto be displayed and image data to be displayed, based on the displayinstruction data input from the descriptive information processing unit32, outputs the information specifying image data to the informationacquisition unit 31 with a request for acquisition of the image dataspecified by information, and receives image data acquired by theinformation acquisition unit 31 in response to the request. Moreover,the display target information production unit 33 produces web pagedescriptive information in which character string information and imagedata are laid out, based on the display instruction data, and outputsthe produced web page descriptive information to the two dimensionalrendering processing unit 41 together with the window identifier.

The program processing unit 34 executes the program data input from thedescriptive information processing unit 32 and holds data (a pointerindicative of the point being executed in the program and work data suchas variable data and so forth) necessary in execution of the programdata so as to be associated with the window identifier also input fromthe descriptive information processing unit 32. That is, with aplurality of windows open (that is, a plurality of web pages ondisplay), the program processing unit 34 may execute the plurality ofprogram data in parallel. As a method for parallel execution, a widelyknown process such as multithreaded process or the like is available,with detailed explanation thereof omitted here.

When any information need to be notified to the user (that is, noticeinformation to be notified to the user in connection with any displaytarget information) during execution of program data associated with anywindow identifier (hereinafter referred to as a “focused identifier” fordistinction), the program processing unit 34 outputs the information tobe notified to the user (hereinafter referred to as “noticeinformation”) and the focused identifier to the notice informationdisplay unit 36.

The display control unit 35 instructs the virtual space setting unit 37to produce one window, or a screen element, at the time of activation,then receives information (window identifier) identifying the producedwindow from the virtual space setting unit 37, and holds the receivedinformation.

With a window produced at the time of activation, the display controlunit 35 instructs the information acquisition unit 31 to acquire dataspecified by the URL set in advance. The data specified by the URL isdetermined here as HTML data. The display control unit 35 outputs thewindow identifier received from the virtual space setting unit 37 andthe HTML data acquired by the information acquisition unit 31 to thedescriptive information processing unit 32.

The display control unit 35 controls the three dimensional renderingprocessing unit 42 to render a three dimensional image based on avirtual space set by the virtual space setting unit 37.

The display control unit 35 controls the respective units according tothe user's instruction. In this embodiment, the user makes the followinginstructions:

(1) an instruction (hereinafter referred to as a “new windowinstruction”) to produce a new window (which may be a tab for displayinganother web page in a web browser); (2) an instruction (hereinafterreferred to as a “catalog display instruction”) to display a pluralityof windows in the form of a catalog; (3) an instruction (hereinafterreferred to as a “focus instruction”) to designate one of the pluralityof windows as an object to be displayed or operated; (4) an instruction(hereinafter referred to as a “content operation instruction”) to inputa character string or the like into an input column shown in theselected window or to click a link shown in the selected window; (5) aninstruction to close the window; and (6) an instruction (hereinafterreferred to as an “end instruction”) to terminate the process carriedout as a browser.

These instructions are made using the controller 4, for example. In thefollowing, a tab switching operation (an operation to switch a windowpositioned directly opposed to the virtual camera 71) will be describedas one example operation. The tab switching operation is carried out bypressing the direction key formed on the controller 4. Specifically,where the direction keys are provided in four directions, namely, in theup, down, left, and right directions, the virtual camera 71 is moved toa position directly opposed to a window on the right side relative tothe sight line direction of the virtual camera 71 when the right-sidedirection key is pressed. Similarly, when the left-side direction key ispressed, the virtual camera 71 is moved to a position directly opposedto a window on the left side relative to the sight line directionthereof. This is similarly applied when the respective keys formed inthe vertical directions are pressed.

Further, clicking an object (a button, a character string input column,or the like) shown in a window (or a tab) will be described as anotherexample operation. Specifically, an object click operation includesmoving a pointer to a click position, and clicking, and is carried outas follows, for example. That is, moving the pointer (a mouse, cursor)to designate a click position is carried out by inclining an analoguestick or the like provided in the controller 4 or the like, and pressinga key provided separately from the direction key may be defined as aclick operation.

When (1) a new window instruction among the user operations describedabove is made, the display control unit 35 instructs the virtual spacesetting unit 37 to produce one window, or a screen element, thenreceives information (a window identifier) identifying the producedwindow from the virtual space setting unit 37, and holds theinformation.

The display control unit 35 instructs the information acquisition unit31 to acquire data specified by the URL set in advance. The dataspecified by the URL is determined here as HTML data. The displaycontrol unit 35 outputs the window identifier received from the virtualspace setting unit 37 and the HTML data acquired by the informationacquisition unit 31 to the descriptive information processing unit 32.

When (2) a catalog display instruction is made, the display control unit35 instructs the catalog display setting unit 38 to display a windowcatalog.

When (3) a focus instruction is made, the display control unit 35 beginsthe process shown in FIG. 5. In the following, a window selected inresponse to the instruction is referred to as a focused window.Initially, the display control unit 35 determines whether or not catalogdisplay takes place (101). When it is determined that catalog displaydoes not take place, the display control unit 35 moves the virtualcamera 71 to a position directly opposed to the focused window (102)before ending the process. According to the process 102, when aninstruction is made to designate the window 63 as a focused window (oran instruction to move to a window at the right, which is made by theuser by clicking the window 63 at the right or pressing the right-sidedirection key on the controller 4 or the like) while the window 62 isshown (that is, the virtual camera 71 is located in the position A inFIG. 6), the virtual camera 71 is moved to a position directly opposedto the window 63 (the position B in FIG. 6), so that the window 63, orthe new focused window, is located at the center of the focused area 7of the virtual camera 71.

Meanwhile, it is determined in the process 101 that catalog displaytakes place, the display control unit 35 instructs the virtual spacesetting unit 37 to render the images of the focused window and otherwindow in mutually distinctive manners (103) before ending the process.The mutually distinctive manner may include, for example,superimposition of a gray image in a semi-transparent manner onto theimage shown in the window. A specific example of the process 103 will bedescribed later as well as a catalog display process.

When (4) a content operation instruction is received, the displaycontrol unit 35 updates the content shown in the focused window or thelike according to the content of the operation. For example, in responseto an operation to input a character string into an input column shownin the focused window selected by the user, the input letter isdisplayed in the input column. Also, in response to a link, a button, orthe like being clicked, a process is carried out with reference to theHTML data associated with the clicked link or button. This process isidentical to a process carried out as a typical browser, with a detaileddescription thereof omitted here.

With a link or the like clicked, the display control unit 35 outputs aninstruction to acquire data from the URL associated with the clickedlink or the like to the information acquisition unit 31 together withthe window identifier of the focused window.

When (5) an instruction to close the window is received, the displaycontrol unit 35 controls so as not to display the window any longerwhich is specified as a focused window by the window identifier (anending window) at that time. For this control, for example, the virtualspace setting unit 37 may be instructed to eliminate the panel object ofthe ending window from the virtual space 5.

When (6) an ending instruction is received, the display control unit 35produces notice information to confirm the end of the process andoutputs to the notice information display unit 36.

The notice information display unit 36 receives, from the programprocessing unit 34, the window identifier (the above-described focusedidentifier) of the window showing the display target informationassociated with the program data in execution and the noticeinformation, and defines, as a focused window, the window specified bythe focused identifier (for example, a screen element (or a window)showing the display target information associated with the noticeinformation). Then, the notice information display unit 36 displays thefocused window in a distinctive manner from another window, and alsodisplays the notice information. This display manner will be describedlater in detail.

The notice information display unit 36 may receive an instruction todisplay notice information not related to any display target information(that is, having nothing to do with any window) from the display controlunit 35 or the like. In this case, the notice information display unit36 displays the notice information in a manner different from noticeinformation related to display target information (that is, noticeinformation related to any window). This display manner will bedescribed later in detail.

According to an instruction input from the display control unit 35 orthe like, the virtual space setting unit 37 adds or deletes a panelobject serving as a window with respect to the virtual space.Specifically, the virtual space setting unit 37 manages the virtualspace 5, using an object database, such as is shown in FIG. 7.

The object database holds, for every virtual object to be contained inthe virtual space 5, a unique identifier, the shape and attribute of theobject, and the coordinates indicative of the position and posture ofthe object, all in the manner of being associated with one another. Theshape or the like of a virtual object may be determined, for example, inthe case of a panel object, as a rectangular parallelepiped which can bedefined by the attributes including the width, depth, and heightthereof. A virtual camera can be defined by information identifying avirtual camera and attributes thereof, including a sight line direction,a viewing angle, or the like (which define a focused area). The positioncoordinates can be determined, for every shape, so as to include thecentral position coordinates, and coordinates, such as the main axialdirection, which indicate the posture, for example.

When the virtual space setting unit 37 newly adds a panel object, aunique identifier is newly produced (the identifier is usable as awindow identifier), and a rectangular parallelepiped shape is added tothe object database, such as is shown in FIG. 7. The virtual spacesetting unit 37 sets a shape having been determined in advance as theshape of a panel object serving as a window, in association with theinformation describing the newly added shape, then defines the positioncoordinates or the like of the panel-like rectangular parallelepiped inthe virtual space, and records the position coordinates in the objectdatabase.

According to an instruction input from the display control unit 35 orthe like, the virtual space setting unit 37 changes the relativepositions of the virtual camera 71 and the panel object. The change inthe relative positions may be carried out as

$\begin{matrix}{\overset{\rightarrow}{S} + \frac{\left( {\overset{\rightarrow}{D} - \overset{\rightarrow}{S}} \right)t}{T}} & \left\lbrack {{Expression}\mspace{14mu} 1} \right\rbrack\end{matrix}$

with respect to time t (t=0 to T) between the vector S indicative of thecoordinates of the initial position before the change and the vector Dindicative of those of a target position after the change such that theposition changes as time passes, like an animation.

When the display control unit 35 needs to display a menu screen besidesa window as so instructed by the user's operation, the virtual spacesetting unit 37 can change the relative positions of the panel objectand the virtual camera 71 in the virtual space 5 such that an area forshowing a menu screen is ensured on the display screen. A menu screen isa screen image or the like for use in instructing to open a new windowor an URL, to close a window, and so forth. Suppose here that the window61 is displayed at the center of the focused area 7 of the virtualcamera 71 before update as shown in FIG. 8 (see the upper drawing inFIG. 8). In this case, the display control unit 35 responsive to aninstruction to display a menu screen instructs the virtual space settingunit 37 to ensure a display area for displaying a menu screen, and thevirtual space setting unit 37 updates the relative positions of thewindow 61 and the virtual camera 71 such that the window 61 ispositioned in a peripheral portion in the focused area 7 of the virtualcamera 71 (see the lower drawing in FIG. 8). With the above, an area (R)for displaying a menu screen is ensured after the update, notoverlapping the display area of the window 61, as shown in FIG. 9.

When the menu screen cannot be fully displayed in the area (R) (such asa menu formed in a hierarchical manner and requiring a relatively largearea to display), the display control unit 35 may control such that themenu screen (M) is shown partly overlapping the window 61 shown in theperipheral portion after the update, as shown in FIG. 10. Anotherexample of setting the virtual space 5 by the virtual space setting unit37 will be described later.

The virtual space setting unit 37 receives, from the display controlunit 35, a window identifier and an instruction to delete the panelobject associated with the window specified by the window identifier. Inthe above, the virtual space setting unit 37 deletes the entry of thedata concerning the input window identifier from the object database.

The catalog display setting unit 38 receives an instruction from thedisplay control unit 35 to display a catalog of windows, then instructsthe virtual space setting unit 37 to rearrange the plurality of windowsin a predetermined manner, and changes the position of the virtualcamera 71. That is, the catalog display setting unit 38 instructs tomove the virtual camera 71 to a position which allows catalog display ofall windows. An operation of the catalog display setting unit 38 and thevirtual space setting unit 37 in response to the catalog displayinstruction will be described later in detail.

The two dimensional rendering processing unit 41 produces a bit mapimage expressing the content of a web page, based on the web pagedescriptive information input from the display target informationproduction unit 33, and stores the produced bit map image in the RAM 13in association with the window identifier input together with the webpage descriptive information.

The three dimensional rendering processing unit 42 produces bit map datain which a three dimensional image is rendered, based on the setting ofthe virtual space 5 by the virtual space setting unit 37. Specifically,the three dimensional rendering processing unit 42 carries out thefollowing process with reference to the object database produced by thevirtual space setting unit 37. That is, the three dimensional renderingprocessing unit 42 renders an image obtained by projecting a panelobject or the like into the field of view (the focused area 7) of thevirtual camera 71. Such a rendering process can be made using manyavailable methods, including a scan line algorithm, a ray tracingmethod, a radiosity method, and so forth, with detailed descriptionsthereof omitted here.

In this embodiment, the three dimensional rendering processing unit 42sets the bit map image of a web page, stored in the RAM 13 inassociation with the identifier (identical to the window identifierhere) of each panel object, as a texture of the surface of each panelobject, opposed to the virtual camera 71. With the above, each panelobject functions as an image element (a window) for displaying a webpage.

The combining processing unit 43 receives a character string and/or animage to be superimposed, for display, onto an image rendered by thethree dimensional rendering processing unit 42, and superimposes thereceived character string and image onto the image rendered by the threedimensional rendering processing unit 42 to combine them (in thesemi-transparent manner, for example).

One example of semi-transparent combination is a process to add thevalues of pixels corresponding the respective images to be combined tothereby produce a combined image.

[Display Manner of Notice Information]

In the following, a display manner for notice information in thisembodiment will be described. As already described, in the web browseras an information display device in this embodiment, a notice asking forinput of a password, or the user's confirmation on whether or not jumpto another web page, and so forth may be shown (display of noticeinformation) during execution of program data contained in the HTMLdata.

Such notice information based on HTML data is notified to the user inconnection with the display target information based on the HTML data.

In this embodiment, notice information to be notified to the user inconnection with any display target information, as described above, isdisplayed as follows. Here, which display target information thedisplayed notice information is connected with is determined based onthe window identifier (a focused identifier) of the window showing thedisplay target information associated with the program data inexecution.

That is, the notice information display unit 36, having received afocused identifier and notice information, determines the windowassociated with the focused identifier as a focused window, andinstructs the virtual space setting unit 37 to move the focused windowfrom the central portion of the focused area 7 of the virtual camera 71.The virtual space setting unit 37 changes the coordinates of the focusedwindow or the virtual camera 71 in the object database such that thefocused window is located in the peripheral portion of the focused area7 of the virtual camera 71, to thereby update the relative positions ofthe focused window and the virtual camera 71. This is identical to theexample of the menu screen shown in FIGS. 8 and 9.

With the above, the focused window is located close to any side of thescreen of the display or the like, similar to the example shown in FIG.9, so that an area (R) for displaying the notice information is ensured.The notice information display unit 36 displays the notice informationin the area (R).

Here, a case in which the windows 62, 63 and so forth are placed opposedto the virtual camera 71, as shown in FIG. 11, will be considered. Inthis case, when the virtual camera 71 is moved such that the window 62,or the focused window, is located in the peripheral portion of thefocused area 7, the adjacent window 63 may resultantly be located in thefocused area 7 of the virtual camera 71. In this case, the threedimensional rendering processing unit 42 may put a gray tone (a solidgray image) in a semitransparent manner on the texture of the displaytarget information shown in a window other than the focused window, as atexture of the surface thereof opposed to the virtual camera 71, so thatthe display target information appears relatively dark (so-called dim)(FIG. 12). In this case, the display target information shown in thefocused window appears relatively bright, so that the user can clearlyrecognize the window with which the displayed notice information isassociated.

Furthermore, the notice information display unit 36 may instruct thecombining processing unit 43 to display the notice informationoverlapping the area (R) where the adjacent window 63 is shown.

Alternatively, the three dimensional rendering unit 42 may be instructednot to render the image of a window other than the focused window. Inthis case, the screen element other than the focused window is concealed(FIG. 13), and only the focused window and the notice information arethus displayed. This facilitates recognition of the focused window. Itshould be noted that a distinctive manner of display may be attainedusing various other methods, such as showing the frame of the focusedwindow in a different color, blinking the focused window, and so forth,not limited to those described above.

As described above, in this embodiment, in displaying noticeinformation, the focused window associated with that notice informationis displayed in a distinctive manner from other windows. Therefore, evenwhen a plurality of windows are shown, the displayed notice informationis displayed in association with which window can be clearly recognizedby viewing.

Moreover, as notice information is displayed adjacent to, but notoverlapping, the focused window, the notice information and the displaytarget information shown in the focused window can both be recognized.

It should be noted that in this embodiment control is carried out suchthat the displayed content of the notice information is not movedthrough the user's operation by employing an arrangement, for example,in which the notice information is displayed overlapping the imagerendered by the three dimensional rendering unit 42 and so forth.

The notice information display unit 36 receives the user's operationrelative to the notice information, and outputs the content of aresponse operation to the program processing unit 34. For example, whena character string “Accept cookies?” is shown together with the buttons“yes” and “no” serving as notice information, and either button isclicked, information identifying the clicked button is output to theprogram processing unit 34.

The program processing unit 34 receives information based on the noticeinformation and continues the program data processing.

[Program Data Execution Control]

While the notice information display unit 36 displays noticeinformation, the program processing unit 34 may continue execution ofprogram data associated with other window. In the above, when the needof display of notice information arise due to the program data beingexecuted in association with the other window, the window identifier ofthat window and the notice information to be displayed are stored so asto be associated with each other in a storage area of a waiting queuefor notice information, set up in the RAM 13.

Then, with the ongoing notice information display completed, display ofthe notice information in the waiting queue begins, beginning with theinformation contained at the head of the waiting queue.

It should be noted that, in JavaScript or the like, for example, arequest for notice information display can be made using a plurality ofmethods, such as alert, document (document.open), and so forth. Then, instoring into a waiting queue, the program processing unit 34 maydetermine a priority order (the order of time of generation in the caseof the same priority) depending on the method used in requesting thenotice information display, and register in the priority order in thequeue.

Further, the notice information display unit 36 may instruct the programprocessing unit 34 to suspend processing of program data while noticeinformation is displayed. The program processing unit 34, havingreceived the instruction, suspends execution of the program dataassociated with each window on display.

In this case, the notice information display unit 36 instructs theprogram processing unit 34 to resume processing of the program data whendisplay of notice information is completed, for example, by the userresponding to the notice information or the like.

The above-described arrangement can avoid a complicated process thatresults in cases such as, while notice information is displayed, displayof notice information in association with other window becomes necessaryas program data associated with the other window is continuouslyprocessed.

The notice information display unit 36 may display a selection button Xfor use in instructing “suspension of program data execution of thewindow”, together with the notice information (FIG. 14). When the userselects the selection button X to thereby respond to the noticeinformation, the notice information display unit 36 instructs theprogram processing unit 34 to suspend the ongoing execution of theprogram data, while giving the window identifier of the focused window.

In response to the received instruction, the program processing unit 34suspends subsequent execution of the designated program data by, forexample, deleting the execution data of the program associated with thewindow identifier input. In this manner, the above described arrangementcan address the deficiency of repetitive display of notice informationdue to a loop process or the like.

[Notice Information not Related to Display Target Information]

The notice information display unit 36 may receive an instruction todisplay notice information not related to any display target informationfrom the display control unit 35 or the like. For example, whensufficient memory to process program data can be no longer set up, orwhen an exception (an error or the like) occurs while program data isprocessed, the program processing unit 34 or the like instructs thenotice information display unit 36 to display notice informationnotifying to that effect.

Such notice information is regarded as notice information not related todisplay target information because it is associated with the entireoperation, though sometimes associated with a particular window.

Moreover, connection failure to the network, production of no window dueto failure in analyzing the acquired data, and confirmation as towhether or not to end the process as a browser or the like concern thewhole operation as a browser, and notice information to be made in suchcases is regarded as not related to display target information.

In displaying notice information not related to display targetinformation, the notice information display unit 36 superimposes a graytone, by means of semi-transparent manner, onto the texture of displaytarget information set on the surface of each window, opposed to thevirtual camera 71, for example, so that the display target informationshown in the window is displayed relatively dark (so-called dim). Then,the notice information display unit 36 instructs the combiningprocessing unit 43 to combine the character string of notice informationor the like and the rendered image (rendered result by the threedimensional rendering unit 42) shown relatively dark in a respectivewindow.

With the above, the notice information is shown so outstanding, as shownin FIG. 15, that the notice information can be readily recognized ashaving no relevance to the window. Alternatively, the notice informationdisplay unit 36 may instruct the three dimensional rendering unit 42 torender the image of no window, and notice information may be displayed.

As described above, an arrangement in which notice information relatedto display target information and notice information not related to anydisplay target information (but related to the whole browser) aredisplayed in different manners can facilitate recognition by the user asto whether or not the displayed notice information is related to displaytarget information.

[Display Manner of List Display]

In the following, a window catalog display process in this embodimentwill be described. The catalog display setting unit 38 in thisembodiment receives an instruction to display a window catalog from thedisplay control unit 35 and instructs the virtual space setting unit 37to move the virtual camera 71 to a position which enables display of acatalog covering all windows.

In the following, positional change of the virtual camera 71 will bedescribed. Suppose that the respective windows are aligned on a plane,as shown in FIG. 16, when receiving an instruction to apply catalogdisplay. In the above, the angle of the field of view of the virtualcamera 71 at that time is determined as θ, and the virtual camera 71 islocated at the position A in FIG. 16 (or a position away by the distancer0 from the plane with the windows aligned). In this state, one window63 is recognized at the center with parts of other windows 62, 64 on theright and left sides thereof, respectively, as shown as an image inconnection with the position A in FIG. 17.

Then, upon receipt of a catalog display instruction, the catalog displaysetting unit 38 instructs the virtual space setting unit 37 to changethe position of the virtual camera 71. The virtual space setting unit 37in return instructs to move the virtual camera 71 to a position fartherfrom the plane with the windows aligned (the position away by thedistance r from the plane, or the position B in FIG. 16), so that afield of view (a focused area 7) of the virtual camera 71, which islarge enough to fully cover the range w larger than the area showing allwindows 61 to 65 is ensured. In the above, r can be calculated as

$\begin{matrix}{r = \frac{w}{2\; \tan \frac{\theta}{2}}} & \left\lbrack {{Expression}\mspace{14mu} 2} \right\rbrack\end{matrix}$

With the above, all windows on display are displayed, as shown as animage in connection with the position B in FIG. 17.

Also in this case, the positions or the like of the respective objects(the panel object, the virtual camera, or the like) are moved in astepwise manner from the initial state to the target state in which thewindows are shown as a catalog, whereby the objects are displayed movinglike an animation. This makes it possible for the user to know whichwindow moves to which position. It should be noted that the position ofthe panel object in the initial state is separately stored in the RAM 13as an initial position.

Further, the catalog display setting unit 38 instructs to move thevirtual camera 71 farther from the panel objects corresponding to therespective windows. The catalog display setting unit 38 may instruct thevirtual space setting unit 37 to rearrange the plurality of panelobjects into a predetermined layout.

For example, with three panel objects serving as windows arranged in ahorizontal line, as shown in FIG. 18, the catalog display setting unit38 having received a catalog display instruction may rearrange the threepanel objects into a triangular layout, then moves the whole of thegathered panel objects to the vicinity of a predetermined one point inthe virtual space 5 (in a range within a predetermined distance from thepoint), and also moves the virtual camera 71 to a position remote fromthe plane where the panel objects serving as windows are arranged.

With the above, as the windows are gathered and shown in a relativelynarrow area, each window can be displayed in a relative large size,compared to a case in which the objects are displayed in a line with thevirtual camera 71 simply moved.

It should be noted that the coordinates which define the positions ofthe respective panel objects in catalog display may be held in advancein the RAM 13 or the like in association with the number of windows (thepanel objects). The respective panel objects in a default size may bepositioned so as not to overlap each other (FIG. 19). It should be notedthat a different manner of disposition may be employed depending on awindow size.

When the number of windows (panel objects) is changed with a windowclosed or newly produced while catalog display takes place, thecoordinates determined relative to the new number of windows may bedefined as a target position D, and the windows are displayed whilemoving relative to time t (t=0 to T) as

$\begin{matrix}{\overset{\rightarrow}{S} + \frac{\left( {\overset{\rightarrow}{D} - \overset{\rightarrow}{S}} \right)t}{T}} & \left\lbrack {{Expression}\mspace{14mu} 1} \right\rbrack\end{matrix}$

from the initial position S before the change to the target positions Dafter the change, like an animation.

Further, the catalog display setting unit 38, having received aninstruction to release the catalog display, instructs the virtual spacesetting unit 37 to move the respective panel objects to the originalpositions (or the positions before the catalog display) thereof, withreference to the initial positions stored in the RAM 13. The catalogdisplay setting unit 38 also instructs the virtual space setting unit 37to move the virtual camera 71 to a position directly opposed to thepanel object corresponding to the focused window at that time to therebyreturn the distance to the panel object serving as a focused window tothe distance before the catalog display takes place.

In response to the instruction, the virtual space setting unit 37defines the target positions of the respective objects, and changes thepositions of the respective objects according to time t, to therebydisplay the objects as an animation.

[Operation During List Display]

In this embodiment, catalog display is realized by simply changing thepositions of the respective objects in the virtual space 5. This allowsthe respective windows to be operated in the same manner before andafter the catalog display. Therefore, it is possible to click a link ina window or to input a character string into a character string inputcolumn in a window even while catalog display takes place.

In recent years, as it is expected that a screen capable of showing acatalog of a plurality of windows could offer improved convenience, anoperating system including a technique for showing a catalog of aplurality of windows is available. However, such catalog display enablesonly selection of a window from the windows displayed, but not operationdirectly to the windows in catalog display. That is, improvement ofconvenience is insufficient.

On the other hand, in this embodiment, the display control unit 35 canaccept an instruction operation which is made utilizing display targetinformation shown in any of the windows in catalog display and carry outa process based on the instruction operation even while the catalogdisplay takes place.

Further, according to the catalog display in the embodiment, the windowspresent in the virtual space 5 need not be all displayed. For example,when a plurality of tabs (or windows) are collectively produced througha predetermined operation, the information display device 1 issues aunique group identifier to the set of mutually related windows and holdsthe group identifier in association with each of the windows. Then, inresponse to a catalog display instruction, the catalog display settingunit 38 may display a catalog of windows having common group identifiersand, in response to a display switching operation, may display a catalogof windows having other common group identifiers.

When web pages are searched for and an operation to collectively displayat least some of the web pages hit in the search in a plurality ofwindows (tabs), for example, is thereafter carried out, theabove-described arrangement makes it possible to display thecollectively displayed windows as a catalog.

Also, for example, when an instruction to open a link shown in theinitially displayed window (referred to as a base window) is made,another window (referred to as a target window) is produced, and a linkdestination web page is be shown in the produced window (a linkdesignation is shown in the new tab), the information display device 1in this embodiment may assign a group identifier to the target window,which is common to the base window. In response to a catalog displayinstruction, the catalog display setting unit 38 may display the windowsassigned with the common group identifiers in the form of a catalog.Also, in response to a display switching operation, the catalog displaysetting unit 38 may display the windows assigned with different commongroup identifiers in the form of a catalog. The above-describedarrangement makes it possible to display mutually related web pages inthe form of a catalog, thus offering high convenience.

The position of the virtual camera 71 (the distance from a panel objectserving as a window) may be defined in advance in association with thenumber of windows in the virtual space 5 (the number of open tabs). Thecatalog display setting unit 38 checks the number of windows present inthe virtual space 5 in response to a catalog display instruction andmoves the virtual camera 71 to the position defined in association withthat number. In this case, the number of windows which can be displayedas a catalog in the field of view of the virtual camera 71 positioned asdefined according to the number of windows (the number of tabs open) inthe virtual space 5 are displayed. The number of windows allowed to bedisplayed as a catalog, as described above, however, is not necessarilythe number of all windows present in the virtual space 5.

As described above, this embodiment can achieve display of an individualwindow, catalog display of all windows, and catalog display of somewindows, as well as animation display in shifting from one display styleto another, that is, displaying in a different manner from that inscreen switching. This enhances visible recognition of the relationshipamong windows between the respective displays.

[Selection of Window in List Display]

In this case, an instruction operation which is made utilizing displaytarget information shown in any screen element is defined separatelyfrom an operation (a tab switching operation) to select any of thescreen elements in catalog display. That is, the display control unit 35does not switch the focused window in response to a window clickingoperation at least while catalog display takes place, and instead,receives a selection instruction (a tab switching instruction)instructing to select a focused window, which is made using a differentkey or the like, for example. As a window selection operation is definedseparately from an operation relative to display target information, asdescribed above, the display control unit 35 can receive an instructionoperation which is made utilizing display target information shown inthe window in catalog and carry out a process based on the instructionoperation even while catalog display takes place.

It should be noted that gray tone is superimposed in a semi-transparentmanner onto the texture of display target information shown in a windowother than the focused window while catalog display takes place so thatthe display target information is shown relatively dark (so-called dim)(FIG. 20). This facilitates visual recognition of the focused window.

Further, a title (a text designated as a title by the HTML data), bitmap image (icon images referred to also as so-called favicon, ashort-cut icon, a website icon, and so forth) defined by a website, andso forth may be superimposed for display onto the window on dim displayother than the focused window (FIG. 21).

[Shift from List Display to Notice Information Display]

In this embodiment, the program processing unit 34 can process programdata even while catalog display takes place. This may raise a need forthe program processing unit 34 to display notice information. In thiscase, the setting of the virtual space 5 may be updated such that thecatalog display shifts to the display in the state shown in FIG. 12 or13.

Display Example]

In this embodiment, an image to be displayed is produced by beingrendered by the three dimensional rendering unit 42 and thensuperimposed by a character string or the like, such as noticeinformation or the like, by the combining processing unit 43. Further,the CPU 11 superimposes a title bar (A) containing a title (a textdesignated as a title by HTML data) and an icon defined by a website(so-called favicon) or the like and an operation guidance bar (C)presenting information about an available operation onto the image to bedisplayed, as shown as an example in FIG. 22. The resultant image may bedrawn into the VRAM 22. In FIG. 22, the title bar and the operationguidance bar are shown above and below the image to be displayed,respectively, though this arrangement is not an exclusive example.

In response to the user's instruction to display a window enlarged, theinformation display device 1 in this embodiment specifies the windowaddressed by the enlarged display instruction and changes the size ofthe panel object corresponding to the specified window and placed in thevirtual space 5.

For example, as shown in FIG. 23, the width d0 of the window 61, or apanel object, is changed to the width d (d>d0). Accordingly, a window 61wider than the window 61 before the size change is shown on the display,as shown in FIG. 24.

According to this embodiment, display of an individual window (a tab),display of a window catalog, and display of notice information can beshifted from one to another like an animation. That is, the states ofdisplay can be changed by successively moving the virtual camera 71 andthe panel objects serving as windows. With this arrangement, visiblerecognition as to which window is displayed in which position in therespective display states is improved.

It is described in the above that an instruction to apply catalogdisplay of a plurality of windows (a catalog display instruction), afocus instruction to designate one of the plurality of windows as awindow to be displayed or operated, and an instruction to release thecatalog display and to display the focused window at the center of thescreen image, and so forth, are made by operating the key or the likeformed on the controller 4.

Alternatively, in the case where the controller 4 has a means, such asan acceleration sensor, a gyro sensor, or the like, for determining theposture thereof, an operation to incline the controller 4 itself may beaccepted as an instruction operation or the like.

That is, such a controller 4 has direction keys, an analogue device,operation buttons, and other keys (denoted as “A” to “D” in the drawing)formed on the front surface thereof and an acceleration sensor 51 and agyro sensor 52 incorporated therein, as shown in FIG. 25, for example.The acceleration sensor 51 incorporates an anchor, for example,supported by a beam and detects the amount of deflection of the beam dueto the displacement of the anchor caused by the acceleration appliedthereto to thereby determine the acceleration applied to the anchor. Theacceleration sensor 51 in the embodiment may be a triaxial accelerationsensor for detecting accelerations (acceleration due to gravity) inmutually substantially orthogonal triaxial directions. As shown in FIG.25, the acceleration sensor 51 is fixedly mounted inside the enclosureof the controller 4 with three mutually orthogonal reference axes,namely the x, y, and z axes, set therefor. Here, for example, the x axismay be defined corresponding to the longitudinal direction (theright-left direction) of the controller 4; the y axis may be definedcorresponding to the depth direction (the front-back direction) of thesame; and the z axis may be defined corresponding to the width direction(the direction perpendicular to the paper surface of the drawing) of thesame. The acceleration sensor 51 detects accelerations in the respectivethree reference axes, and outputs three voltage values in accordancewith the detected accelerations. Specifically, the acceleration sensor51 outputs a voltage signal substantially proportional to the determinedacceleration. That is, the acceleration sensor 51 outputs a referencevoltage Vo with no acceleration detected, and acceleration is generatedin which of the positive and negative directions as to each axis isdetermined depending on whether the output voltage value is larger orsmaller than the reference voltage, Vo. The controller 4 outputs adigital value obtained by converting a voltage signal into a digitalsignal (A/D conversion) as information describing the inclination angle.

Among the outputs from the acceleration sensor 51, an output indicativeof the acceleration in the x axis is changed according to inclination ofthe controller 4 with the y axis as a center. For example, while thecontroller 4 remains inclined by θy1 degrees (θy1<0) in the longitudinaldirection relative to the horizontal surface, as shown in FIG. 26, thegravity acceleration a in the x axial direction remains α sin θy1 (a=αsin θy1). Also, while the controller 4 remains inclined by θy2 degrees(θy2>0) relative to the horizontal surface, as shown in FIG. 27, thegravity acceleration a in the x axial direction becomes α sin θy2 (a=αsin θy2). In the above, α is a negative coefficient. Therefore,information describing the angle becomes θ=arcsin (a/α), expressed usingthe acceleration value a expressed with the voltage value V. Similarly,the acceleration in the y axis changes according to inclination of thecontroller 4 with the x axis as a center.

The gyro sensor 52 determines the angular speed of the rotation of thecontroller 4 around the z axis, and outputs the determined angularspeed. The CPU 11 samples an output from the gyro sensor 52 for everyconstant period of time and calculates an integration to therebydetermine a displaced amount of the rotation of the controller 4relative to the z axis.

Using the above-described controller 4, operations corresponding to

A. an instruction (a catalog display instruction) to apply catalogdisplay of a plurality of window;

B. a focus instruction to designate one of the plurality of windows as awindow to be displayed or operated; and

C. an instruction to release the catalog display and to display thefocused window at the center of the screen image are defined as follows,for example.

An operation to incline the controller 4 farther from the user of thecontroller 4 with the x axis as a center can be defined as a catalogdisplay instruction, or A above. For a focus instruction, or B above, anoperation to incline the controller 4 either leftward or rightward withthe y axis as a center may be defined triggering sequential switching ofa window to be displayed or operated whether for catalog display or not.An operation to incline the controller 4 toward the user of thecontroller 4 with the x axis as the center can be defined as anoperation to release the catalog display, or C above.

It should be noted that it may be determined, in order to prevent thecatalog display or focus switching from being effected in response to asubtle inclination operation, that such operations are effected onlywhen the controller 4 is inclined by an amount exceeding a predeterminedangular threshold.

For example, the CPU 11 receives information about an inclination angleof the controller 4 from the controller 4 and operates as follows. Here,assume that information about at least an inclination angle θy in the xaxial direction (the y axis serving as a rotational axis) and aninclination angle θx in the y axial direction (the x axis serving as arotational axis) are received.

As shown in FIG. 28, the CPU 11 checks whether or not the inclinationangle θx in the y axial direction is smaller than a predetermined firstangular threshold θxth1 (θxth1<0) (process 201). When the inclinationangle θx is smaller than the predetermined first angular thresholdθxth1, it is determined that the controller 4 is inclined farther fromthe user of the controller 4 by an angle exceeding the predeterminedangular threshold. That is, it is determined that a catalog displayinstruction is made, and a process based on the catalog displayinstruction is carried out (process 202) before completing the process.

Meanwhile, when it is determined in the process 201 that the inclinationangle θx in the y axial direction is not smaller than the predeterminedfirst angular threshold θxth1 (θxth1<0), the CPU 11 checks whether ornot the inclination angle θx in the y axial direction exceeds apredetermined second angular threshold θxth2 (θxth2>0) (process 203).When the inclination angle θx exceeds the predetermined second angularthreshold θxth2, it is determined that the controller 4 is inclinedcloser to the user of the controller 4 by an angle exceeding thepredetermined angular threshold. That is, it is determined that aninstruction to release the current catalog display is made. Then, theCPU 11 releases the current catalog display, if any, and moves therespective windows to their respective positions before the catalogdisplay takes place, and moves the virtual camera 71 to a positionopposed to the current focused window (the focused window) (process 204)before ending the process.

Meanwhile, when it is determined in the process 203 that the inclinationangle θx does not exceed the predetermined second angular thresholdθxth2, the CPU 11 checks whether or not the inclination angle θy in theX axial direction is smaller than the predetermined third angularthreshold θyth3 (θyth3<0) (process 205). When it is determined that theinclination angle θy is smaller than the third angular threshold θyth3,it is determined that the controller 4 is inclined leftward by an angleexceeding the predetermined angular threshold. Then, the CPU 11 carriesout a process to select (a focused tab switching process) a window as afocused window in a predetermined selection order (process 206). Thisprocess differs depending on whether or not catalog display currentlytakes place. Specifically, when catalog display does not take place andthere is a window at the left of the current focused window in the fieldof view of the virtual camera 71, that window is regarded as a newfocused window and the virtual camera 71 is moved to a position directlyopposed to the new focused window.

Meanwhile, when it is determined in the process 206 that catalog displaytakes place and there is a window in the same row of, and at the leftof, the current focused window, that window is regarded as a new focusedwindow. On the other hand, when there is no window in the same row of,and at the left of, the current focused window, whether or not anywindow is displayed above the current focused window (that is, in theupper area in the field of view of the virtual camera 71) is determined.With any window displayed in the concerned area, the window at the rightend of the row above the current focused window is selected as a newfocused window. When the focused window is already the uppermost andleftmost window in the catalog, focused window switching may not beeffected in response to the inclining operation.

Returning to process 205, when it is determined that the inclinationangle θy in the X axial direction is not smaller the predetermined thirdangular threshold θyth3 (θyth3<0), the CPU 11 then determines whether ornot the inclination angle θy in the X axial direction exceeds thepredetermined fourth angular threshold θyth4 (θyth4>0) (process 207).When the inclination angle θy exceeds the predetermined fourth angularthreshold θyth4, it is determined that the controller 4 is inclinedrightward by an angle exceeding the predetermined angular threshold, andthe CPU 11 carries out a process to select (a focused tab switchingprocess) a window as a focused window in a predetermined selection order(process 208). In the above, a different process is carried outdepending on whether or not catalog display takes place. Specifically,when catalog display does not take place and there is a window at theright of the current focused window in the field of view of the virtualcamera 71, that window is regarded as a new focused window and thevirtual camera 71 is moved to a position directly opposed to the newfocused window.

Meanwhile, when it is determined in the process 208 that catalog displaytakes place and there is a window in the same row of, and at the rightof, the current focused window, that window is regarded as a new focusedwindow. On the other hand, when there is no window in the same row of,and at the right of, the current focused window, whether or not anywindow is displayed below the current focused window (that is, in thelower area in the field of view of the virtual camera 71) is determined.With any window displayed in the concerned area, the window at the leftend of the row below the current focused window is selected as a newfocused window. When the focused window is already the lowermost andrightmost window in the catalog, a focused window switching may not beeffected in response to the inclining operation.

The above-described controller 4 facilitates a display window (tab)switching operation, utilizing an inclining operation.

It should be noted that the first to fourth angular thresholds are notnecessarily identical. For example, in the case where inclining thecontroller 4 farther from the user of the controller 4 is not as easy asinclining closer to the user for some reason, the absolute value |θxth1|of the first angular threshold concerning inclination of the controller4 farther from the user may be defined smaller than the absolute value|θxth2| of the second angular threshold.

The CPU 11 may wait for a predetermined period of time after theprocesses 206 and 208, rather than simply ending the process, and repeatthe process 201 and thereafter. The waiting time may be defined inaccordance with the inverse of the absolute value of a value obtained bysubtracting an angular threshold (the third angular threshold θyth3 inthe process 206 and the fourth angular threshold θyth4 in process 208)from the inclination angle θy (for example, the waiting time may bedefined by multiplying the inverse by a predetermined constant). Withthe above, the focused window switching speed (or, the tab switchingspeed) can be controlled according to the inclination angle.Specifically, the focused window is switched relatively slowly for asmaller inclination angle and relatively fast for a large inclinationangle.

Also, the virtual camera 71 may move in the virtual space 5 according toinclination of the controller 4 itself. For example, when the controller4 is inclined rightward, the virtual camera 71 moves rightward relativeto the sight line thereof. When the controller 4 is inclined closer tothe user thereof, the virtual camera 71 moves upward relative to thesight line thereof. In the above, the moving speed may change dependingon the magnitude of the inclination (the angle). For example, the largerthe inclination angle θ becomes, the larger the amounts (that is, themoving speed) Δx, Δy by which the vertical camera 71 moves per unit timebecomes.

With the downward direction key pressed, for example, the virtual camera71 may move farther from the window to thereby enlarge the field of viewthereof. With the upward direction key pressed, the virtual camera 71may move closer to the window. According to the above-describedoperation method, the user may feel a sense of freedom as if floating inthe virtual space 5, compared to an operation method using a cross keyin moving an object in the virtual space 5, and thus can operateintuitively.

It should be noted that, although an example in which an operation iscarried out according to an inclination angle of the controller 4relative to a predetermined reference state (for example, the controller4 in a horizontal position) is described in the above, the angle valuesθx0, θy0 at the time that any key (hereinafter referred to as aninclination instruction key) formed on the controller 4 is pressed maybe obtained, and inclination angles may be calculated as

θx=θxd−θx0

θy=θyd−θx0

using the inclination angles θxd, θyd, determined using the angularvalues θx0, θy0 as references.

Alternatively, an operation carried out by inclining the controller 4may be accepted only while the inclination instruction key is keptpressed.

The inclination instruction key may be any of the keys A to D and thedirection keys shown in FIG. 25, for example.

The respective keys on the controller 4 are assigned respectivefunctions by the program executed by the information display device 1(for example, application of click is admitted in response to the key Bpressed), though the inclination instruction key may remain free fromany other function.

Alternatively, the inclination instruction key may be assigned anotherfunction. For example, suppose that the key A is assigned a function fordisplaying a map (a map display function) showing the position of thevirtual camera 71 in the virtual space 5. In the above, it may bearranged such that virtual camera 71 can move in the virtual space 5 inresponse to inclination of the controller 4 while the key A is keptpressed. The inclination instruction key may not always be a single key.For example, while the key A, assigned with a map display function, isused as an inclination instruction key, any other key (for example, thekey C) may also be used exclusively as an inclination instruction key.Further, when there is any key formed on the side surface of thecontroller 4 (not only the left/right side surfaces; but also thefarther and nearer side surfaces of the controller 4, relative to theuser of the controller 4), that side surface key may be used as aninclination instruction key.

1. An information display method, comprising: displaying a plurality of window objects in a virtual three-dimensional space as captured by a virtual camera on a two-dimensional display, wherein a first of the plurality of window objects is a focused window rendered at the center of the two-dimensional display; and rearranging, in response to a user input, the plurality of window objects in a virtual three-dimensional space so that a second of the plurality of window objects replaces the first of the plurality of window objects as the focused window.
 2. The information display method of claim 1, comprising: inclining a controller to provide the user input, the controller having an x-axis and a y axis, wherein inclination of the controller by an angle with respect to the y-axis is an instruction to trigger switching of the plurality of window objects as the focused window, and wherein inclination of the controller by an angle with respect to the x-axis is an instruction to trigger disposing a second catalog display.
 3. The information display method of claim 2, wherein the angle with respect to the y-axis exceeds a predetermined first angular threshold, and wherein the angle with respect to the x-axis exceeds a predetermined second angular threshold.
 4. An information display apparatus, comprising: a display control unit for displaying a plurality of window objects in a virtual three-dimensional space as captured by a virtual camera on a two-dimensional display, wherein a first of the plurality of window objects is a focused window rendered at the center of the two-dimensional display; and an input device for rearranging, in response to a user input, the plurality of window objects in a virtual three-dimensional space so that a second of the plurality of window objects replaces the first of the plurality of window objects as the focused window.
 5. The information display apparatus of claim 4, comprising: a controller for providing the user input, the controller having an x-axis and a y axis, wherein inclination of the controller by an angle with respect to the y-axis is an instruction to trigger switching of the plurality of window objects as the focused window, and wherein inclination of the controller by an angle with respect to the x-axis is an instruction to trigger disposing a second catalog display.
 6. The information display apparatus of claim 5, wherein the angle with respect to the y-axis exceeds a predetermined first angular threshold, and wherein the angle with respect to the x-axis exceeds a predetermined second angular threshold.
 7. A non-transitory computer-readable storage medium having stored thereon a program for causing a computer to execute an information display method, the method comprising: displaying a plurality of window objects in a virtual three-dimensional space as captured by a virtual camera on a two-dimensional display, wherein a first of the plurality of window objects is a focused window rendered at the center of the two-dimensional display; and rearranging, in response to a user input, the plurality of window objects in a virtual three-dimensional space so that a second of the plurality of window objects replaces the first of the plurality of window objects as the focused window.
 8. The computer-readable storage medium of claim 7, comprising: inclining a controller to provide the user input, the controller having an x-axis and a y axis, wherein inclination of the controller by an angle with respect to the y-axis is an instruction to trigger switching of the plurality of window objects as the focused window, and wherein inclination of the controller by an angle with respect to the x-axis is an instruction to trigger disposing a second catalog display.
 9. The computer-readable storage medium of claim 8, wherein the angle with respect to the y-axis exceeds a predetermined first angular threshold, and wherein the angle with respect to the x-axis exceeds a predetermined second angular threshold. 